/**
 * 3元起提，没有限制，只要求手机验证码
 */

const perVideoWatchTime = 5//每隔视频观看10秒
const halfDeviceHeight = device.height / 2
const halfDeviceWidth = device.width / 2
const videoSwipeDistance = halfDeviceHeight - 100//视频下滑的长度 px
// test()
// onlyRun()
//只允许本脚本时，将上行解除注释
function onlyRun() {

    auto();
    console.show()
    log("开始快手极速版")
    images.requestScreenCapture(false)
    log("已获得截屏权限")

    let totalTime = 2 * 60 * 60 //刷2小时
    run(totalTime)
}
function test() {

    auto();
    console.show()
    log("开始快手极速测试")
    images.requestScreenCapture(false)
    log("已获得截屏权限")
    click("我知道了")
    exit()
}
var kuaiShou = {};
kuaiShou.main = function (totalTime) {
    run(totalTime)
};

module.exports = kuaiShou;
function run(totalTime) {
    log("计划时长：" + totalTime)
    launchApp()
    let watchTime = 0;
    for (let i = 1; totalTime > watchTime; i++) {
        if (text("拖动滑块").findOnce()) {
            log("出现验证码，结束")
            runOver()
            break;
        }
        let waitTime = perVideoWatchTime + random(-4, 4)
        log("本视频观看时长" + waitTime)
        sleep(waitTime / 2 * 1000);
        likeAndfollow(7)
        sleep(waitTime / 2 * 1000);
        watchTime += waitTime
        log("已看：" + i + "个视频 " + watchTime + "秒")
        swipeVideo(i)

    }
}

function launchApp() {
    let isLauchApp = false
    while (!isLauchApp) {
        log("尝试启动")
        launchPackage("com.kuaishou.nebula")
        sleep(10000)
        let mesbox = id("com.kuaishou.nebula:id/a4v").findOnce()
        if (mesbox) {
            mesbox.click()
        }
        mesbox = id("com.kuaishou.nebula:id/close").findOnce()
        if (mesbox) {
            mesbox.click()
        }

        mesbox = text("我知道了").findOnce()
        if (mesbox) {
            mesbox.click()
        }
        isLauchApp = id("com.kuaishou.nebula:id/circular_progress_bar").findOnce()
    }

    log("已启动")
}
//swipeCount，滑动视频的次数
function swipeVideo(swipeCount) {
    let offset = random(-100, 0)
    if (swipeCount % 6 == 0) {
        //  双数的第6次下滑
        swipe(halfDeviceWidth - random(-50, 50), halfDeviceHeight + offset + (videoSwipeDistance / 2),
            halfDeviceWidth + random(-50, 50), halfDeviceHeight + offset - (videoSwipeDistance / 2), 30);
    } else if (swipeCount % 2 == 0) {
        //双数次上滑        
        swipe(halfDeviceWidth + random(-50, 50), halfDeviceHeight + offset,
            halfDeviceWidth + random(-50, 50), halfDeviceHeight + offset + (videoSwipeDistance / 2), 30);

    } else {
        //单数下滑
        swipe(halfDeviceWidth - random(-50, 50), halfDeviceHeight + offset + (videoSwipeDistance / 2),
            halfDeviceWidth + random(-50, 50), halfDeviceHeight + offset - (videoSwipeDistance / 2), 30);
    }

}
//有range*2+1分之一的概率点喜欢,range*4+1分之一的概率点关注,关注必定喜欢
function likeAndfollow(range) {
    let isLike = random(-1 * range, range)
    if (isLike == 0) {
        click(halfDeviceWidth, halfDeviceHeight)
        sleep(50)
        click(halfDeviceWidth, halfDeviceHeight)
        log("双击喜欢")
        let isFollow = random(-1 * range, range)
        if (isFollow == 0) {
            text("关注").click()
            log("点了关注")
        } else {
            // log("不是点关注的概率:"+isFollow)
        }

    } else {
        // log("不是点喜欢的概率:"+isLike)
    }

}
//是否已经不再有收益了
function isNoIncome() {
    let isIncome = findIncomeIcon()
    if (!isIncome) {
        sleep(6000)
        isIncome = findIncomeIcon()
        if (!isIncome) {
            log("等待6秒，不见收益红包")
            return false
        }
    }
    log("正在收益中")
    return true;
}
//查找收入红包的图标，是收益中的返回true 否则返回false
function findIncomeIcon() {
    let redBag = id(" com.kuaishou.nebula:id/circular_progress_bar").findOnce()
    if (redBag) {
        let redBagBounds = redBag.bounds()
        let screen = images.captureScreen();
        // log(redBagBounds)
        let p = images.findColorEquals(screen, "#f85050", redBagBounds.left, redBagBounds.top, redBagBounds.width(), redBagBounds.height())
        return p ? true : false;
    }
    return false;
}
function runOver() {
    home()
}

